package com.xbongbong.paas.pojo.vo;

import com.xbongbong.paas.domain.entity.ext.PaasFormEntityExt;
import com.xbongbong.paas.pojo.ButtonPojo;
import com.xbongbong.paas.field.FieldAttrEntity;
import com.xbongbong.paas.toolbox.helper.PageHelper;
import com.xbongbong.saas.domain.entity.PayBalanceEntity;
import lombok.Getter;
import lombok.Setter;
import lombok.ToString;

import java.io.Serializable;
import java.util.ArrayList;
import java.util.List;
import java.util.Map;

/**
 * 预付款列表VO
 *
 * @author 徐俊杰
 * @date 2020/2/25 9:52
 * @since v1.0
 */
@Getter
@Setter
@ToString
public class PrePayBalanceListVO implements Serializable {
    private static final long serialVersionUID = 6582279411792446153L;
    List<PayBalanceEntity>  paasFormDataESList;
    /**
     * 分页对象
     */
    private PageHelper pageHelper;

    /**
     * 行标题
     */
    private List<FieldAttrEntity> headList;

    /**
     * 表单信息
     */
    private PaasFormEntityExt form;

    /**
     * 汇总信息
     */
    private List<AggSumVO> numCountList;

    /**
     * 审批结束后是否允许编辑，选择允许，提交人可以再次编辑审批后内容；选择不允许，提交人不可以再次编辑审批后内容，数据权限是全公司的人除外 1：允许 0：不允许
     */
    private Integer allowEditAfterFinished;

    /**
     * 表单数据列表上部按钮操作相关权限
     * 如新建(create)、导入(imports)、导出(export)、数据回收站(dataTrash)
     */
    private List<ButtonPojo> topPermissions;

    /**
     * 表单数据列表下部按钮操作相关（批量）权限
     * 如编辑(batchUpdate)、删除(batchDelete)
     */
    private List<ButtonPojo> bottomPermissions;

    /**
     * 表单解释
     */
    private Map<String, FieldAttrEntity> explainMap;

    /**
     * 可能依赖的其他表单解释
     */
    private Map<String, FieldAttrEntity> secondaryExplainMap;
    /**
     * 金额明细的关系
     */
    private Map<String, List<PayBalanceEntity>> amountaRelationship;

    /**
     * businessType
     */
    private Integer businessType;

    public PrePayBalanceListVO(){
        allowEditAfterFinished = 1;
        paasFormDataESList = new ArrayList<>();
        pageHelper = new PageHelper();
    }
}
